package com.spsoft.vatoutinv.model.vo.vmsenterpriseinfo;

import com.spsoft.vatoutinv.annotation.Translate;
import com.spsoft.vatoutinv.constants.CommonConstant;
import com.spsoft.vatoutinv.constants.DictConstant;
import com.spsoft.vatoutinv.constants.TranslateConstant;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 纳税人基本信息VO
 * </p>
 *
 * @author wangy
 * @since 2023-11-22
 */
@Data
@ApiModel(value="纳税人基本信息VO", description="纳税人基本信息-企业基本信息、税务信息、财务信息")
public class VmsEnterpriseInfoVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    private Long id;

    @ApiModelProperty(value = "机构编码")
    private String deptCode;

    @ApiModelProperty(value = "纳税人识别号/统一社会信用代码")
    private String nsrsbh;

    @ApiModelProperty(value = "登记序号")
    private String djxh;

    @ApiModelProperty(value = "税收档案编号")
    private String ssdabh;

    @ApiModelProperty(value = "纳税人名称")
    private String nsrmc;

    @ApiModelProperty(value = "纳税人类型标签;1：一般纳税人 2：小规模纳税人 3：转登记小规模纳税人 4：辅导期一般纳税人 5：自然人")
    @Translate(type= TranslateConstant.DICT,value = DictConstant.VMS_NSRLX)
    private String nsrlx;

    @ApiModelProperty(value = "生产经营地址")
    private String scjydz;

    @ApiModelProperty(value = "注册地邮政编码")
    private String zcdyzbm;

    @ApiModelProperty(value = "注册地联系电话")
    private String zcdlxdh;

    @ApiModelProperty(value = "法人名称(法定代表人姓名")
    private String fddbrxm;

    @ApiModelProperty(value = "登记注册类型（国标）")
    private String djzclxdm;

    @ApiModelProperty(value = "行业代码;主行业代码特定征收部门可空")
    private String hydm;

    @ApiModelProperty(value = "企业行业性质;成品油生产企业、成品油经销企业、国内机动车生产企业、进口机动车生产企业驻我国办事机构或总授权代理机构、机动车授权经销企业、其他机动车贸易商、二手车市场、二手车经销企业、二手车拍卖企业、稀土矿产企业、稀土冶炼分离企业、稀土其他企业、卷烟生产企业、卷烟批发企业、卷烟出口企业、生产型出口企业、外贸型出口企业、外贸综合服务企业、特殊监管区内企业、增值税一般纳税人资格试点企业、享受出口退税政策的融资租赁企业、增值税零税率应税服务提供者、房地产开发企业、农产品深加工企业")
    @Translate(type=TranslateConstant.DICT,value = DictConstant.VMS_QYHYXZDM)
    private String qyhyxzdm;

    @ApiModelProperty(value = "税务信息: 区县级税务机关代码")
    private String qxjswjgdm;

    @ApiModelProperty(value = "税务信息: 税务机关代码，主管税务所科分局")
    private String zgswskfjdm;

    @ApiModelProperty(value = "税务信息: 税务机关名称，主管税务所科分局")
    private String zgswskfjmc;

    @ApiModelProperty(value = "税务信息: 开票方纳税人状态;01：受理,02：筹建期,03：正常,04：停业,05：非正常,06：清算,07：注销,08：非正常户注销,09：报验,10：核销报验,11：中断缴费,12：恢复缴费,13：简易注销无异议,99：其他")
    @Translate(type = TranslateConstant.DICT,value = DictConstant.VMS_KPFSWRZT)
    private String nsrztdm;

    @ApiModelProperty(value = "税务信息: 纳税人类型标签有效期起;格式：YYYY-MM-DD")
    @Translate(type = TranslateConstant.DATE)
    private Date yxqq;

    @ApiModelProperty(value = "税务信息: 纳税人类型标签有效期止;格式：YYYY-MM-DD")
    @Translate(type = TranslateConstant.DATE)
    private Date yxqz;

    @ApiModelProperty(value = "税务信息: 消费税纳税人类型;卷烟生产消费税纳税人、卷烟批发消费税纳税人、雪茄烟生产消费税纳税人、烟丝生产消费税纳税人、白酒生产消费税纳税人、黄酒生产消费税纳税人、啤酒生产消费税纳税人、其他酒生产消费税纳税人、高档化妆品生产消费税纳税人、金银首饰铂金首饰和钻石及钻石饰品零售消费税纳税人、其他贵重首饰和珠宝玉石生产消费税纳税人、鞭炮焰火生产消费税纳税人、汽油生产消费税纳税人、柴油生产消费税纳税人、航空煤油生产消费税纳税人、石脑油生产消费税纳税人、溶剂油生产消费税纳税人、润滑油生产消费税纳税人、燃料油生产消费税纳税人、摩托车生产消费税纳税人、小汽车生产消费税纳税人、超豪华小汽车零售消费税纳税人、高尔夫球及球具生产消费税纳税人、高档手表生产消费税纳税人、游艇生产消费税纳税人、木制一次性筷子生产消费税纳税人、实木地板生产消费税纳税人、电池生产消费税纳税人、涂料生产消费税纳税人")
    @Translate(type=TranslateConstant.DICT,value = DictConstant.VMS_XFSNSRLXDM)
    private String xfsnsrlxdm;

    @ApiModelProperty(value = "财务信息：财务负责人姓名")
    private String cwfzrxm;

    @ApiModelProperty(value = "财务信息：账户名称")
    private String khhmc;

    @ApiModelProperty(value = "财务信息：账号:首选账户账号")
    private String yhzh;

    @ApiModelProperty(value = "财务信息：企业办税人员姓名")
    private String bsrxm;

    @ApiModelProperty(value = "财务信息：新电票试点企业标识;Y：新电票试点企业,N：不是新电票试点企业")
    @Translate(type=TranslateConstant.DICT,value = DictConstant.VMS_XDPSDQYBS)
    private String xdpsdqybz;

    @ApiModelProperty(value = "财务信息：出口企业分类;空：非出口企业,01：一类出口企业,02：二类出口企业 03：三类出口企业 04：四类出口企业")
    @Translate(type=TranslateConstant.DICT,value = DictConstant.VMS_CKQYFL)
    private String ckqyfldm;

    @ApiModelProperty(value = "财务信息：总分机构类型;0：非总分机构 1：总机构 2：分支机构 3：分总机构")
    @Translate(type=TranslateConstant.DICT,value = DictConstant.VMS_ZFJGLXDM)
    private String zfjglxdm;

    @ApiModelProperty(value = "财务信息：银行营业网点")
    private String yhyywddm;

    @ApiModelProperty(value = "数据创建时间")
    @Translate(type = TranslateConstant.DATE,format = CommonConstant.DATE_FORMAT_14)
    private Date createTime;

    @ApiModelProperty(value = "数据创建用户登录编码")
    private String createUser;

    @ApiModelProperty(value = "数据操作用户姓名")
    private String createUsername;

    @ApiModelProperty(value = "数据操作更新时间")
    @Translate(type = TranslateConstant.DATE,format = CommonConstant.DATE_FORMAT_14)
    private Date updateTime;

    @ApiModelProperty(value = "数据操作更新用户登录编码")
    private String updateUser;

    @ApiModelProperty(value = "数据在更新用户姓名")
    private String updateUsername;
}